import { createStore, combineReducers } from "redux";
//把组件拆分开 有利于代码的后期维护
//state:{} 也是初始状态
const initialState = {
  todolist: [],
};

function changeStatus(state = initialState, action) {
  //根据不同的action修改state
  switch (action.type) {
    case "add":
      //修改状态后要返回更新后的状态
      //   var arr = state.todolist.push({con:action.con,status:0})
      //   state.todolist = arr.push({con:action.con,status:0})
      //   console.log(state,action.type);
      state.todolist.push({ con: action.con, status: 0 });
      console.log(state.todolist);
      return {
        todolist:[...state.todolist],
      };
      // return Object.assign({}, state  ,arr);
      break;
    default:
      return state;
      break;
  }
}

//mutation:{}
// 每次调用redux中的方法时 都会把事件传递到所有方法中
// 但只有type 相同时才会执行 所以 type的值是不可以重复的
const rootReducer = combineReducers({
  changeStatus: changeStatus,
});

//创建store 新建一个 Store对象  方式   初始状态
const store = createStore(rootReducer, initialState);
export default store;
